package com.jrx.anytxn.param.mapper.ext;

import com.jrx.anytxn.common.annotation.ParamTuningAnnotation;
import com.jrx.anytxn.param.entity.PrPenaltyRateTable;
import com.jrx.anytxn.param.mapper.base.PrPenaltyRateTableMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 罚息利率表 mapper接口扩展
 *
 * @author Qingyao Xing
 * @date 2019/9/27 16:12
 */
public interface ExtPrPenaltyRateTableMapper extends PrPenaltyRateTableMapper {
    /**
     * 根据字段查询
     */
    PrPenaltyRateTable selectByPenaltyId(@Param("penaltyId") String penaltyId, @Param("organizationId") String organizationId, @Param("tenantId") String tenantId);

    /**
     * 根据租户Id查询所有
     *
     * @param tenantId 租户Id
     * @return java.util.List<com.jrx.anytxn.param.entity.PrPenaltyRateTable>
     * @author fan.yang
     * date: 2019/10/14 0014 下午 14:29
     */
    List<PrPenaltyRateTable> selectByTenId(String tenantId);

    /**
     * 根据租户ID和罚息利率ID更新
     *
     * @param penaltyRateTable 罚息利率表ID
     * @return int
     * @author fan.yang
     * date: 2019/10/14 0014 下午 14:34
     */
    @ParamTuningAnnotation
    int updateByTenIdAndPenaltyId(PrPenaltyRateTable penaltyRateTable);

    /**
     * 根据租户ID和罚息利率表ID
     *
     * @param tenantId  租户ID
     * @param panaltyId 罚息利率表ID
     * @return com.jrx.anytxn.param.entity.PrPenaltyRateTable
     * @author fan.yang
     * date: 2019/10/14 0014 下午 14:25
     */
    PrPenaltyRateTable selectByTenIdAndPanaltyId(@Param("tenantId") String tenantId, @Param("penaltyId") String panaltyId);

    /**
     * 根据租户ID和罚息利率表ID删除
     *
     * @param tenantId  租户Id
     * @param panaltyId 罚息利率表ID
     * @return int
     * @author fan.yang
     * date: 2019/10/14 0014 下午 14:37
     */
    @ParamTuningAnnotation
    int deleteByTenIdAndPenaltyId(@Param("tenantId") String tenantId, @Param("penaltyId") String panaltyId);
}